package com.kainitram.undo;

import com.kainitram.designpattern.CommandInvoker;

/**
 * Interface for undo redo invoker
 * @author Mino
 *
 */
public interface IUndoRedoInvoker extends CommandInvoker {

	/**
	 * Execute undo operation
	 */
	void undo();
	
	/**
	 * Execute redo operation.
	 */
	void redo();
	
	/**
	 * Can execute undo operation?
	 * @return can execute undo operation?
	 */
	Boolean canUndo();
	
	/**
	 * Can execute redo operation?
	 * @return can execute redo operation?
	 */
	Boolean canRedo();
}
